home *** CD-ROM | disk | FTP | other *** search
/ Cream of the Crop 20 / Cream of the Crop 20 (Terry Blount) (1996).iso / os2 / sysb091a.zip / sysbench / readme.hch next >
Text File  |  1994-11-05  |  21KB  |  560 lines

  1.  
  2. Prelude for those that don't read the documentation:
  3.   Do not mail me bug reports. I can't fix them... Other opinions on the 
  4.   program are welcome.
  5.   I do not know if this program works on a CPU without math co-proc (like the
  6.   486-SX)
  7.  
  8. System Benchmark "SysBench" 0.9.0
  9. ---------------------------------
  10.  
  11. (C) 1994 Henrik Harmsen
  12. The disk IO code: (C) 1994 Kai Uwe Rommel
  13.  
  14. Contents:
  15.  
  16.   1 Introduction
  17.   2 Tests
  18.   3 Copyright notice
  19.   4 Thanks
  20.  
  21.   Appendix A : Todo
  22.   Appendix B : Building
  23.   Appendix C : Example results
  24.  
  25. ---
  26.  
  27.  
  28.  
  29. 1 Introduction
  30.  
  31.  
  32. I thought OS/2 needed a benchmark program, so I wrote one. This
  33. program is not quite finished, and probably never will be, not by me
  34. anyway, since I'm saying goodbye to OS/2 and turning my attention to
  35. Linux. The reasons for this has not so much to do with OS/2, which is
  36. still a great OS, as it has to do with Linux. Linux is slick,
  37. super-fast, finally has drivers for my Viper card, has free TCP/IP and
  38. last but not least, Linux is Unix.
  39.  
  40. This means I am probably not going to make updates to this program,
  41. since I won't have OS/2 on my disk anymore. I'm saying probably, since
  42. I can't read the future. Maybe one day my whimsical mind will think
  43. OS/2 is more fun that Linux, who knows ? :-)
  44.  
  45. It also means that I am donating this program to anyone who is willing
  46. to continue working on it. If you think you want to continue working
  47. on this program, make sure you clearly note that this is released by
  48. you, not me. To do this, change the version number to 0.9.0xxx, where
  49. xxx are your initials. For example 0.9.0hch, which would indicate that
  50. I (Henrik C Harmsen) has made this release. The version numbering
  51. scheme should follow that of GCC. The first number is the major
  52. release number, to be increased when major enhancements have been made
  53. to the program or it is considered out of beta. The second number is
  54. the minor release number, increase it when you have made small changes
  55. to the program. The last number should be increased when making
  56. bug-fixes only.
  57.  
  58. Take a look at the appendices for more information on what needs to be
  59. done, what's not quite finished yet, and how to re-build the
  60. program. Among other things, this document needs rewriting.
  61.  
  62. Do not send me complaints about bugs and errors, since I will have no
  63. way of fixing them...
  64.  
  65. Now, that said, let's take a look at what this program tests.
  66.  
  67.  
  68.  
  69.  
  70. 2 Tests
  71.  
  72. HANDLE WITH CARE! DO NOT BLINDLY TRUST BENCHMARK VALUES. THEY ARE ONLY
  73. GOOD IF YOU KNOW WHAT THEY ARE TESTING AND KNOW WHAT THEY ARE NOT
  74. TESTING...
  75.  
  76. The values obtained here are not useful for comparing against values
  77. obtained from other benchmarks programs. Even though one of the tests
  78. for example measure Linpack performance and yields a value in MFLOPS,
  79. this value is not useful in comparing with other values from a
  80. different benchmark program. The only exception here is the dhrystone
  81. 2.1 value which might possibly be compared to values from other
  82. dhrystone 2.1 benchmarks. As a rule: Only compare values with people
  83. running this same benchmark program.
  84.  
  85. Almost all tests are adaptive in that they will first measure the
  86. approximate speed of your computer so the test will take about 10-15
  87. seconds in total, no matter how slow or fast your computer is.  The
  88. ones that are not adaptive are the floating point tests and the
  89. CPU integer tests with the exception of the dhrystone test.
  90.  
  91.  
  92. 2.1 Graphic tests
  93.  
  94. These tests test how fast the video hardware/display driver
  95. combination can pump pixels to the screen. OS/2 has long had abysmal
  96. display drivers for many cards, these tests are meant to sort out
  97. whether they really are bad, good or stink.
  98.  
  99. Most window operations are using only a few key operations of the
  100. video card accelerator. Take a look at your windows, they're mostly
  101. built from filled rectangles, with some text and vertical and
  102. horizontal lines. Maybe a few bitmaps here and there (icons and such).
  103.  
  104. The PM-marks are calculated from the other values as a weighted
  105. arithmetic mean-value.
  106.  
  107.  
  108. 2.1.1 BitBlit S->S Copy
  109.  
  110. Tests the speed of the bitblit screen->screen copy operation. One of
  111. the most important values, since it affects how fast you can scroll
  112. text, and move large windows.
  113.  
  114.  
  115. 2.1.2 BitBlit M->S Copy
  116.  
  117. Tests the speed of the bitblit memory->screen copy operation. This
  118. affects how fast updates of large bitmaps are and all operations that
  119. copy data from RAM to Video RAM.
  120.  
  121.  
  122. 2.1.3 Filled rectangle, patterned filled rectangle.
  123.  
  124. Tests how fast the blitter can blank areas with a color or stipple
  125. pattern. When updating a window, the background is usually blanked
  126. with a single color or pattern before text or other things are drawn
  127. on it.
  128.  
  129.  
  130. 2.1.4 Lines
  131.  
  132. Tests the speed of line-drawing in different directions. The
  133. horizontal and vertical line drawing speed is important when drawing
  134. frames around windows and such.
  135.  
  136.  
  137. 2.1.5 Text render
  138.  
  139. Extremely important function for speedy updates in text editors, shell
  140. windows, word processors etc.
  141.  
  142.  
  143.  
  144. 2.2 CPU Integer tests
  145.  
  146. The CPU tests are divided into two sections, one to test 'integer'
  147. performance, meaning not only integer arithmetics but also every other
  148. 'normal' program that does some kind of data processing. 99% of all
  149. applications do not use floating-point arithmetic. Those that do are
  150. usually ray-tracers, scientific engineering type of programs etc.
  151.  
  152. The CPU-int marks are calculated as a weighted mean average of the other 
  153. tests.
  154.  
  155. 2.2.1 Dhrystone VAX MIPS
  156.  
  157. When reading about how many MIPS a computer performs, that is usually
  158. tested by running this Dhrystone test and adjusting the result to be
  159. relative to one VAX 11/780 MIPS. That means, this test does not
  160. benchmark the number of million instructions per second (MIPS) as
  161. defined by machine instructions, but rather a weighted value against
  162. the base reference of one VAX 11/780 MIPS.
  163.  
  164. This test uses very little memory, meaning it will measure the CPU
  165. performance only, not taking into account other vital parts as memory
  166. speed etc.
  167.  
  168. Here is an excerpt from the sources from where I got this program:
  169.  
  170.  "Dhrystone is a short synthetic benchmark program intended to be
  171. representative for system (integer) programming. Based on published
  172. statistics on use of programming language features: see original
  173. publication in CACM 27,10 (Oct 1984). Orginally published in ADA, now
  174. mostly used in C. Version 2 (in C) published in SIGPLAN Notices 23,8
  175. (Aug 1988), together with measurement rules. Version 1 is no longer
  176. recommended since state-of-the-art compilers can eliminate too much
  177. 'dead code' from the benchmark (However, quoted MIPS numbers are often
  178. based on version 1).  Problems: Due to its small size (100 HLL
  179. statements, 1-1.5 KB code), the memory system outside the cache is not
  180. tested; compilers can too easily optimize for Dhrystone; string
  181. operations are somewhat over-represented.  Recommendation: Use it for
  182. controlled experiments only; don't blindly trust single Dhrystone MIPS
  183. numbers quoted somewhere (don't do this for any benchmark)."
  184.  
  185. This test is based on the C-version of Dhrystone 2.1.
  186.  
  187. 2.2.2 Hanoi
  188.  
  189. An integer program which solves the Towers of Hanoi puzzle using
  190. recursive function calls.  It uses very little memory, and thus does
  191. not test memory speed.
  192.  
  193. 2.2.3 Heapsort
  194.  
  195. Tests how fast your computer can sort a large array of random values
  196. using the heapsort algorithm. Tests both CPU and memory speed.  The
  197. MIPS are just a measurement against some arbitrary base MIPS
  198. reference.  This test uses about 1 MB memory.
  199.  
  200. 2.2.4 Sieve
  201.  
  202. Tests how fast your computer can find lots of prime numbers using the
  203. sieve of Eratosthenes using arrays from 8 kB to 1.2 MB. The result is
  204. a weighted mean value of the different speeds. Tests both CPU and
  205. memory speed.
  206.  
  207.  
  208.  
  209. 2.3 CPU floating point tests
  210.  
  211. These tests measure how fast your computer is at floating point
  212. arithmetics. (Floating point means non-integer numbers like 2.3,
  213. 0.24 etc.)
  214.  
  215. The CPUfloat-marks are calculated as a weighted mean average of the
  216. other values.
  217.  
  218. 2.3.1 Linpack
  219.  
  220. This is the Linpack program (floating-point) converted to C.  Results
  221. here are sensitive to cache effects and memory speed. This version
  222. tests only the rolled double precision version.
  223.  
  224.  
  225. 2.3.2 Flops
  226.  
  227. Estimates MFLOPS rating for specific FADD, FSU